package com.goldgov.route.service;

import java.util.List;


/**
 * Route规则业务接口
 * @author LiuHG
 */
public interface RouteRuleService {
	
	/**
	 * 添加Route规则
	 * @param routeRule
	 */
	void addRouteRule(RouteRule routeRule);
	
	
	/**
	 * 根据主键更新Route规则信息，对象中的主键必须提供
	 * @param routeRule
	 */
	void updateRouteRule(RouteRule routeRule);
	
	/**
	 * 批量删除Route规则
	 * @param ids 预删除的主键ID数组，支持多条记录删除
	 */
	void deleteRouteRule(String[] ids);
	
	void deleteProjectRoute(String[] ids);
	
	/**
	 * 查询单个Route规则对象
	 * @param id 主键ID
	 * @return Route规则，如果没有匹配的记录则返回null
	 */
	RouteRule getRouteRule(String id);
	
	List<RouteRule> listRouteRuleByPorject(String projectID);
	
	List<RouteRule> listRouteRule(String[] excludeIDs);

	List<ServiceVersion> listVersion(String ruleID);
	
	void updateProjectRouteRule(String projectID,ProjectRouteRule[] rules);
        
}